#pragma once


#include"ClassMate.hh"

class MyClass{
public:
  MyClass(ClassMate* firstClassMate, ClassMate* secondClassMate);
  ~MyClass();

  bool append( ClassMate* aMate);
  
  bool insertAfter(ClassMate* aMate, ClassMate* refMate);
  //bool insertAfter(ClassMate* aMate, std::string refMateName);

  bool insertBefore(ClassMate* aMate, ClassMate* refMate);
  //bool insertBefore(ClassMate* aMate, std::string refMateName);
  
  bool remove(ClassMate* aMate);
  //bool remove(std::string refMateName);

  ClassMate* findByMateName(std::string mateName);
  bool find(ClassMate* aMate);

  ClassMate* findLeastNameMate();
  
  void printClassMates();
  
  ClassMate* m_headPtr=nullptr; // most left
  ClassMate* m_tailPtr=nullptr; // most right
  
};
